package com.zonacardio.persistencia;

import com.zonacardio.utilidades.Tiempo;

public class SqlHelper {

    public SqlHelper() {
    }

    public static String ValidarUsuario(String clave, String usuario) {
        return "select codigo,usuario,nombre,clave,perfil,fechacreacion from tblusuarios where clave='" + clave + "'  and usuario='" + usuario + "'";
    }

    public static String ValidarUsuario() {
        return "select codigo,usuario,nombre, clave,perfil,fechacreacion from tblusuarios where clave= ?  and usuario= ?";
    }

  public static String insertUsuarios() {
        return "insert into tblusuarios(codigo,usuario,nombre,perfil,clave,fechacreacion) values(?,?,?,?,?,?)";
    }

    public static String updateUsuarios() {
        return "update tblusuarios set usuario=?,nombre=?, perfil=?,clave=?,fechacreacion=? where codigo=?";
    }

    public static String BloquearUsuario() {
        return "update tblusuarios set estado=?  where codigo=?";
    }

    public static String getUsuarios(String cod) {
        if (cod != null) {
            return "select codigo,usuario,nombre,clave, perfil, fechacreacion   from tblusuarios where codigo like '%" + cod + "%' order by codigo asc";
        } else {
            return null;
        }
    }

    public static String getUsuarios() {

        return "select codigo,usuario,nombre,clave, perfil, fechacreacion   from tblusuarios  order by codigo asc";

    }

//-------------------------Productos---------------------------------------------
    public static String getConsecutivo() {
        return "SELECT Lpad( max( cast( codigo AS signed ) ) +1, 8, '0' )  FROM producto LIMIT 0 , 30";
    }
//SQLhelpers de Planes ----------------------Hi :D--------------------------
    public static String getVentaPlan(String codigoventa) {
        return "SELECT codigoplanes, numero_documento_deportistas, fechaventa, codigoventa, iva, usuariocreador " +
                " FROM tblventaplanes " +
                " WHERE codigoventa='" + codigoventa + "' and estado ='Activo'";
    }
    
     public static String getConsecutivoVentaPlan(){
return "SELECT Lpad( max( cast( codigoventa AS signed ) ) +1, 5, '0' )  FROM tblventaplanes";
}

    public static String insertVentaPlan() {
        return "INSERT INTO tblventaplanes(codigoplanes, numero_documento_deportistas, fechaventa, codigoventa, iva, usuariocreador,valor )" +
                "VALUES (?,?,?,?,?,?,?);";
    }

    public static String updateVentaPlan() {
        return "UPDATE  tblventaplanes SET " +
                "codigoplanes = ?, numero_documento_deportistas = ?,fechaventa = ?,iva = ?, usuariocreador = ?  WHERE codigoventa = ?";
    }

    public static String getVentaPlanes() {
        return "SELECT codigoplanes, numero_documento_deportistas, fechaventa, codigoventa, iva, usuariocreador, estado" +
                " FROM tblventaplanes ";
    }
       public static String getVentaPlanDeporitista(String nrodcto) {
        return "SELECT codigoplanes, numero_documento_deportistas, fechaventa, codigoventa, iva, usuariocreador, estado" +
                " FROM tblventaplanes  where  trim(numero_documento_deportistas)='"+nrodcto.trim()+"' AND  estado='Activo' ";
    }
    
   public static String getReportesVentas(String cadena){
   return  "SELECT vp.codigoplanes,p.descripcion "
           + ", vp.numero_documento_deportistas," +
           " d.nombre1, d.nombre2 , d.apellido1,d.apellido2," +
           " vp.fechaventa, vp.codigoventa, vp.iva,"
           + " vp.valor,vp.usuariocreador, vp.estado " +
           " FROM tblventaplanes  vp, tbldeportistas d, tblplan p "
           + " where  vp.numero_documento_deportistas=d.numerodocumento "
           + " AND p.codigo = vp.codigoplanes  " +cadena ;
   
   
   }    
       
       

    public static String deleteVentaPlan(String cod) {
        return "DELETE  from tblventaplanes  WHERE Codigoventa = '" + cod + "'";
    }

//SQLhelpers de Plan ----------------------Hi :D--------------------------
    public static String getPlan(String codigo) {
        return "SELECT codigo, descripcion, costo, valor, ganancia, fechacreacion, usuariocreador, cantidaddias , vigenciadias " +
                " FROM tblplan" +
                " WHERE codigo='" + codigo + "'";
    }

    public static String insertPlan() {
        return "INSERT INTO tblplan(codigo, descripcion , valor,costo, ganancia, fechacreacion,usuariocreador,cantidaddias,vigenciadias )" +
                "VALUES (?,?,?,?,?,?,?,?,?);";
    }

   public static String updatePlan() {
        return "UPDATE  tblplan SET " +
                "descripcion = ?,valor = ?, costo = ?, ganancia = ? ,fechacreacion = ?, usuariocreador = ?, vigenciadias = ?," +
                "cantidaddias = ? WHERE codigo = ?";
    }

    public static String getPlanes() {
        return "SELECT codigo, descripcion, costo, valor, ganancia, fechacreacion, usuariocreador, cantidaddias,vigenciadias " +
                " FROM tblplan ";
    }

    public static String deletePlan(String cod) {
        return "DELETE  from tblplan  WHERE Codigo = '" + cod + "'";
    }
  
//SQLhelpers de deportistas ----------------------Hi :D--------------------------
    public static String getDeportistas(String numerodocumento) {
        return "SELECT TipoDocumento,numerodocumento,nombre1,nombre2,apellido1,apellido2, telefono,celular, " +
                "correo_electronico,direccion,barrio,genero,fecha_ingreso,usuariocreador  " +
                " From tbldeportistas where numerodocumento ='"+numerodocumento +"'  ";

    }

    public static String insertDeportistas() {
        return "INSERT INTO tblDeportistas(TipoDocumento,numerodocumento,nombre1,nombre2," +
                " apellido1,apellido2, telefono,celular, " +
                "correo_electronico,direccion,barrio,genero,fecha_ingreso,usuariocreador )" +
                "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    }

    public static String updateDeportistas() {
        return "UPDATE  tblDeportistas SET " +
                "TipoDocumento = ?, nombre1 = ?, nombre2 = ? ,apellido1 = ?, apellido2 = ?," +
                " telefono = ?, celular= ?, correo_electronico= ?, direccion = ?, " +
                "barrio = ?,genero = ?,fecha_ingreso = ?,usuariocreador = ? where numerodocumento=? ";
    }

    public static String deleteDeportistas(String numerodocumento) {
        return "DELETE  from tblDeportistas  WHERE numreodocumento = '" + numerodocumento + "'";
    }

    public static String getDeportistas() {
        return " select TipoDocumento,numerodocumento,nombre1,nombre2,apellido1,apellido2, telefono,celular," +
                "correo_electronico,direccion,barrio,genero,fecha_ingreso,usuariocreador  from tbldeportistas ";
    }



/*-------------- Asistncia-------------------*/
public static String getRegistroAsistencia(String codigo) {
    return "SELECT codigo, numeroDocumentoDeportistas, codigoPlanes, fechaIngreso, horaIngreso, horaTerminacion, fechaUltimoIngreso, usuarioCreador, codigoventa " +
    " FROM tblregistro_asistencias" +
    " WHERE codigo='" + codigo + "'";
}
public static String getRegistroAsistenciaPorDocumento(String numeroDocumentoDeportistas) {
    return "SELECT codigo, numeroDocumentoDeportistas, codigoPlanes, fechaIngreso, horaIngreso, horaTerminacion, fechaUltimoIngreso, usuarioCreador,codigoventa " +
    " FROM tblregistro_asistencias" +
    " WHERE numeroDocumentoDeportistas='" + numeroDocumentoDeportistas + "' order by fechaIngreso ";
}

public static String insertRegistroAsistencia()
{
    String sql=  "INSERT INTO tblregistro_asistencias(codigo, numeroDocumentoDeportistas, codigoPlanes, fechaIngreso, " +
          "horaIngreso, horaTerminacion, fechaUltimoIngreso, usuarioCreador,codigoventa )"+
          "VALUES (?,?,?,?,?,?,?,?,?)";
    System.out.println(sql);
  return "INSERT INTO tblregistro_asistencias(codigo, numeroDocumentoDeportistas, codigoPlanes, fechaIngreso, " +
          "horaIngreso, horaTerminacion, fechaUltimoIngreso, usuarioCreador,codigoventa )"+
          "VALUES (?,?,?,?,?,?,?,?,?)";
}
public static String updateRegistroAsistencia(){
    return "UPDATE  tblregistro_asistencias SET " +
"numeroDocumentoDeportistas = ?, codigoPlanes= ?,fechaIngreso = ?, horaIngreso = ? ,horaTerminacion = ?, fechaUltimoIngreso= ?," +
            "usuarioCreador = ? WHERE codigo = ?";
}

public static String getRegistroAsistencia() {
    return "SELECT codigo, numeroDocumentoDeportistas, codigoPlanes, " +
            "fechaIngreso, horaIngreso, horaTerminacion, fechaUltimoIngreso, usuarioCreador"  +
    " FROM tblregistro_asistencias ";
}

public static String deleteRegistroAsistencia(String codigo){
    return " DELETE  from tblregistro_asistencias  WHERE codigo = '"+ codigo +"'";
}
public static String getConsecutivoAsistencia(String cod_venta){
return "SELECT Lpad( max( cast( codigo AS signed ) ) +1, 8, '0' )  FROM tblregistro_asistencias  where codigoventa='"+cod_venta+"'   ";
}

public static String getConsecutivoPlan(){
return "SELECT Lpad( max( cast( codigo AS signed ) ) +1, 8, '0' )  FROM tblplan";
}

public static String getConsecutivoUsuario(){
return "SELECT Lpad( max( cast( codigo AS signed ) ) +1, 8, '0' )  FROM tblusuarios    ";
}
   
   
   public static String getNroAsistencias(String codVenta){
   
   return "SELECT p.cantidaddias - count( A.Codigo ) +1 " +
   "  FROM tblventaplanes V, tblregistro_asistencias A, tblplan P " +
   "   WHERE V.codigoventa = '"+codVenta+"' " +
   "  AND V.CodigoPlanes = P.Codigo " +
   "  AND A.CodigoVenta = V.codigoventa " +
   "  GROUP BY V.codigoventa";
   } 
   
 public static String  updateAplanVentaVencido(String codigoVenta){
  String fecha = Tiempo.getFecha();
  return " UPDATE tblventaplanes vp , tblplan p  set  vp.estado='Vencido' " +
         " WHERE DATE_ADD( STR_TO_DATE(vp.fechaventa , '%d-%m-%Y'), INTERVAL p.vigenciadias DAY ) >=STR_TO_DATE('"+fecha+"', '%d-%m-%Y') " +
         " AND  p.codigo= vp.codigoplanes AND vp.codigoventa='"+codigoVenta+"'  ";
   
   
   
   }
 public static String getCalculo(){

return "SELECT p.valor, p.costo, " +
        " p.ganancia, p. codigo ,p.descripcion,p.fechacreacion,p.usuariocreador,p.cantidaddias,p.vigenciadias p.valor-p.costo = p.ganancia " +
        "  from tblplan p";

}
 
 
   
 
   
   
}





